package com.org.devg.monitor.server.model;

import org.devgframwork.es5.elasticserach.EsCloumn;
import io.searchbox.annotations.JestId;

import java.util.Map;

public class MonitorMessageDO {

    @JestId
    @EsCloumn(name = "message_key")
    private Long messageKey; // 唯一键,用于排查问题

    @EsCloumn(name = "rquest_message_key")
    private Long monitorRequestMessageKey; // 用于链路追踪

    @EsCloumn(name = "message_type")
    private Integer messageType; ////类型: 1-Controller，2=Service,3-Mapper

    @EsCloumn(name = "class_method")
    private String classMethod; // 类名

    @EsCloumn(name = "request_url")
    private String requestUrl; // 请求url

    @EsCloumn(name = "request_ip")
    private String requestIp; // 请求IP

    @EsCloumn(name = "local_ip")
    private String localIp; // 本地IP

    @EsCloumn(name = "cost_time")
    private Long costTime; //花费时长

    @EsCloumn(name = "result_type")
    private String resultType;// 返回类型: info,error

    @EsCloumn(name = "model_name")
    private String modelName; // 模块名称

    @EsCloumn(name = "start_time")
    private String startTime; // 开始时间

    @EsCloumn(name = "req_time")
    private Long reqTime; // 请求时间

    private Map<String, Object> requestParams; // 请求参数

    @EsCloumn(name = "req_params")
    private String reqParams; // 请求参数

    @EsCloumn(name = "message_model_type")
    private String messageModelType;  // Message,Momery

    @EsCloumn(name = "evn_name")
    private String evnName; // 环境

    @EsCloumn(name = "stack_trace_msg")
    private String stackTraceMsg; // 错误堆栈信息

    @EsCloumn(name = "ext_msg")
    private String monitorExtMsg; // 额外信息

    public Long getMessageKey() {
        return messageKey;
    }

    public void setMessageKey(Long messageKey) {
        this.messageKey = messageKey;
    }

    public Long getMonitorRequestMessageKey() {
        return monitorRequestMessageKey;
    }

    public void setMonitorRequestMessageKey(Long monitorRequestMessageKey) {
        this.monitorRequestMessageKey = monitorRequestMessageKey;
    }

    public Integer getMessageType() {
        return messageType;
    }

    public void setMessageType(Integer messageType) {
        this.messageType = messageType;
    }

    public String getClassMethod() {
        return classMethod;
    }

    public void setClassMethod(String classMethod) {
        this.classMethod = classMethod;
    }

    public String getRequestUrl() {
        return requestUrl;
    }

    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }

    public String getRequestIp() {
        return requestIp;
    }

    public void setRequestIp(String requestIp) {
        this.requestIp = requestIp;
    }

    public String getLocalIp() {
        return localIp;
    }

    public void setLocalIp(String localIp) {
        this.localIp = localIp;
    }

    public Long getCostTime() {
        return costTime;
    }

    public void setCostTime(Long costTime) {
        this.costTime = costTime;
    }

    public String getResultType() {
        return resultType;
    }

    public void setResultType(String resultType) {
        this.resultType = resultType;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public Long getReqTime() {
        return reqTime;
    }

    public void setReqTime(Long reqTime) {
        this.reqTime = reqTime;
    }

    public Map<String, Object> getRequestParams() {
        return requestParams;
    }

    public void setRequestParams(Map<String, Object> requestParams) {
        this.requestParams = requestParams;
    }

    public String getReqParams() {
        return reqParams;
    }

    public void setReqParams(String reqParams) {
        this.reqParams = reqParams;
    }

    public String getMessageModelType() {
        return messageModelType;
    }

    public void setMessageModelType(String messageModelType) {
        this.messageModelType = messageModelType;
    }

    public String getEvnName() {
        return evnName;
    }

    public void setEvnName(String evnName) {
        this.evnName = evnName;
    }

    public String getStackTraceMsg() {
        return stackTraceMsg;
    }

    public void setStackTraceMsg(String stackTraceMsg) {
        this.stackTraceMsg = stackTraceMsg;
    }

    public String getMonitorExtMsg() {
        return monitorExtMsg;
    }

    public void setMonitorExtMsg(String monitorExtMsg) {
        this.monitorExtMsg = monitorExtMsg;
    }
}
